package vista.panel;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JPanel;
import modelo.automata.AutomataFinitoDeterminista;

/**
 *
 * @author Andres
 */
public class PanelMsg extends JPanel{
    String MSG;

    public PanelMsg() {
        setPreferredSize(new Dimension(700, 500));
        List<String> conjuntoDeEstados = Arrays.asList("q0", "q1", "q2");
        List<String> alfabetoEntrada = Arrays.asList("a", "b");
        String estadoInicial = "q0";
        List<String> conjuntoEstadosFinales = Arrays.asList("q2");
        String[][] tablaDeTransiciones = {
            {"q1","q1"},  
            {"q2","q2"},  
            {"q1","q1"}  
        };
        AutomataFinitoDeterminista AFD = new AutomataFinitoDeterminista(conjuntoDeEstados, 
                alfabetoEntrada, estadoInicial, conjuntoEstadosFinales, tablaDeTransiciones);
        boolean aceptado = false;
        String[] cadena = {"a","b","b","a","a","a"};
        try {
            aceptado = AFD.lectura(cadena);
        } catch (Exception ex) {
            Logger.getLogger(PanelMsg.class.getName()).log(Level.SEVERE, null, ex);
        }
        MSG = aceptado?"El automata acepta la cadena: "+cadena:"El automata no acepta la cadena: "+cadena;
    }
    
    @Override
    public void paint(Graphics g) {
        Graphics2D g2d = (Graphics2D)g;
        g2d.drawString(MSG, 100, 100);
    }
    
}
